#ifndef __NETWORK_H__
#define __NETWORK_H__

// 引用全局棋盘数组
extern int sheet[16][16];

// 游戏状态全局变量声明
extern int gameEnded;          // 游戏是否结束标志
extern int show_turn_indicator; // 是否显示回合指示器

// 断线重连相关变量
extern int game_in_progress;   // 是否有进行中的游戏
extern int saved_client_id;    // 保存的客户端ID
extern int saved_my_color;     // 保存的己方颜色
extern int saved_opponent_color; // 保存的对手颜色
extern int saved_is_my_turn;   // 保存的回合状态
extern int saved_sheet[16][16]; // 保存的棋盘状态

void network_wzq(char *ip, int port);  // 注意修正参数类型，ip应为字符串指针
void redraw_game_interface();
void draw_turn_indicator();
void update_turn_indicator();
void draw_background_rect(int x, int y, int width, int height, int color);
void save_game_state();        // 保存游戏状态
void load_game_state();        // 加载游戏状态
int try_reconnect(char *ip, int port); // 尝试重连
void continue_game(int sockfd); // 继续游戏
void game_main_loop(int sockfd, int touch_fd); // 游戏主循环

#endif